package cn.wolfcode.trip.base.service;

import cn.wolfcode.trip.base.domain.StrategyCatalog;
import cn.wolfcode.trip.base.domain.StrategyComment;
import cn.wolfcode.trip.base.domain.SubComment;
import cn.wolfcode.trip.base.query.QueryObject;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

public interface IStrategyCommentService {
    int deleteByPrimaryKey(Long id);


    StrategyComment selectByPrimaryKey(Long id);

    List<StrategyComment> selectAll();

    void saveOrUpdate(StrategyCatalog strategyCatalog);

    PageInfo getList(QueryObject qo);


    List<StrategyComment> getCommentByStrategyId(Long id);

    void insertSubComment(SubComment subComment);

    List<SubComment> getSubCommentById(Long id);

    List<SubComment> getSubContentByUserId(Long id);
    
    List<StrategyComment> selectCommentByState();

    List<StrategyComment> selectByMentions(String keyword);

    void addComment(StrategyComment comment,String tags);

    List<StrategyComment> selectByAuthorId(Long id);

    int getCountHasReadComment(Long id);

    void setSubHasRead(Map<String, Object> map);

    Integer getNoReadMentions(String keyword, Integer hasRead);

    void setCommentsHasRead(String keyword);

    int getCount(Long id);
}
